import 'dart:math';
// dart 中的异常处理

toFixed({num, d}) {
  try {
    num *= pow(10, d);
    num = (num as double).round();
    num /= pow(10, d);
    return num;
  } on TypeError catch (e) {
    print(e);
    throw FormatException("必须输入数字");
  } catch(e) {
    throw Exception("出错了，请联系管理员");
  }
}

// 入口主函数
void main() {
  try {
    // var res = toFixed(num: 12.345, d: 1);
    // var res = toFixed(num: 12.345, d: 'hello');
    var res = toFixed(d: 10);
    print(res);
  } catch(e) {
    print("程序出错了: ${e}");
  } finally {
    print("程序并未退出...");
  }
}
